
//自定义工具
const install = (Vue, vm) => {
	
	
	//判断是否登录
	const isLogin = ()=>{
		//如果没有token，就跳转到登录界面
		
		const token = vm.vuex_token
		
		if(!token){
			//获取最后一个页面记录 ，登陆后返回该页面
			const currentPage = getCurrentPages().pop()
			
			//获取页面路径，和请求参数
			const {options , route} = currentPage
			
			//参数的key
			const optionsKeys = Object.keys(options)
			let params = ''
			if(optionsKeys.length !== 0){
				params = optionsKeys.reduce((pre,current) => {
					// return pre + current + '=' + options[current] + '&'
					//ES6模板字符
					return `${pre}${current}=${options[current]}&`
				},'?').slice(0,-1)
			}
			
			//缓存当前页，用于登录或者注册返回页面
			uni.setStorageSync('back_url',route + params)
			
			vm.$u.toast("请登录")
			setTimeout(()=>{
				vm.$u.route({
					// type: 'redirect',
					url: 'pages/auth/login'
				})
			},1500)
			return false
		}
		return true
	}
	
	

	/*
	*	更新用户信息  刷新token
	*/
	const updateUser = async ()=>{
		// TODO 刷新用户token
		
		//重新请求用户信息
		const userInfo = await vm.$u.api.userInfo(vm.vuex_token)
		//重新缓存用户信息
		vm.$u.vuex('vuex_user',userInfo)
	} 
	//定义utils属性
	vm.$u.utils = {isLogin,updateUser}
}

export default {
	install
}